home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Technology Seed / Mac Tech Seed Oct '96 / Mac Tech Seed Oct '96.toast / mac / QuickTime™ MPEG 1.0a3 / MPEG Read Me < prev    next >
Encoding:
Text File  |  1996-10-11  |  8.1 KB  |  129 lines  |  [ttro/ttxt]

  1.  
  2.  
  3.  
  4.  
  5.  
  6. QuickTime MPEG Extension 
  7.  
  8. The QuickTime MPEG extension works directly with QuickTime to provide complete playback and control of an MPEG bitstream within a QuickTime movie.
  9.  
  10. How does it work?
  11.  
  12. The QuickTime MPEG extension is not a simply a image decompressor component (codec). When you open an MPEG movie with the extension installed, QuickTime automatically imports the file into a QuickTime movie with a single MPEG track. The MPEG content is not contained in a video and/or audio track — rather, it has its own separate track type, like a Text or a Sprite track. This MPEG track handles both the video and the audio streams of an MPEG file. There is only a decompressor — no compressor (hence, you cannot compress a QuickTime movie with this Extension to create an MPEG file).
  13.  
  14. How do I report bugs or provide feedback?
  15.  
  16. The a3 version of the QuickTime MPEG Extension is likely a few revisions old by the time you receive the Macintosh Technology Seed CD.  To inquire about getting more involved with testing and feedback please contact the QuickTime evangelist, Charles Wiltgen <cwiltgen@apple.com> for more information. 
  17.  
  18. How do I install it?
  19.  
  20. To get started, make sure that QuickTime 2.5 is installed (the MPEG extension does not support earlier versions of QuickTime). Place the QuickTime MPEG extension in the Extensions folder of your System folder, and restart your machine. You should now be ready to go — try opening an MPEG file from MoviePlayer.
  21.  
  22. What do I need to use it?
  23.  
  24. • A Power Macintosh
  25. • QuickTime 2.5 and an application that can play movies (such as MoviePlayer 2.5 or SimpleText)
  26. • Approximately 2.5 MB of free memory per MPEG bitstream (for optimal playback)
  27.  
  28. Release Changes for version 1.0a3
  29.  
  30. Extended the extension time-out date to November 15.  The extension will not be active after that date and you will need to get a new version of the codec.
  31.  
  32. Release Changes for version 1.0a2
  33.  
  34. The following are now supported:
  35.  
  36. • “.mpa”, “.mpv” and “.mpm” file extensions
  37. • 'MPGa', 'MPGv', and 'MPGx' file types
  38.  
  39. Release Changes for version 1.0d9 (alpha 1)
  40.  
  41. The following are now supported:
  42.  
  43. • Elementary audio bitstreams
  44. • Kanji Talk System Software
  45. • System 7.1.2 (make sure you’ve installed the ThreadManager — see Things You Oughta Know). 
  46.  
  47. What features are supported with version 1.0d8 ?
  48.  
  49. • Supports playing MPEG-encoded movies from a local hard disk or over the network
  50.  
  51. • Supports playing MPEG-encoded movies from Video CD and CDi disks
  52.  
  53. • Supports display of MPEG video in all monitor display depths, with optimized performance for 8-, 16- and 32-bit depths
  54.  
  55. • Supports MPEG chapter information (chapters are displayed in the standard movie controller, and you can select chapters to go to particular spot in the MPEG bitstream) from Video CDs
  56.  
  57. • Supports standard QuickTime transport controls (play, pause, sound volume control, audio balance, frame-accurate step-forward and -backward, fast-forward, rewind).
  58.  
  59. • Supports arbitrary window resizing
  60.  
  61. • Supports standard QuickTime editing functions: cut, copy, paste, etc. (note: FlattenMovie works, but must copy the entire MPEG stream to do so)
  62.  
  63. • Support ability to play and utilize elementary MPEG streams (video only)
  64.  
  65. • Support movie layering, compositing, and graphics mode controls
  66.  
  67. • Support hardware acceleration of clipping, scaling, and color-space conversion (i.e. it utilizes the same mechanisms used to accelerate normal video)
  68.  
  69. Things You Oughta Know
  70.  
  71. • In order to run the MPEG extension with pre-7.5 systems, you must install the Thread Manager.  Once you install the ThreadManager in the Extensions folder of your System Folder, the MPEG extension should behave commensurate with 7.5 and up systems.
  72.  
  73. • Blacklining is intentional. With large window sizes, blacklining saves CPU cycles.
  74.  
  75. • ClarisWorks’ Text Preview extension interferes with the MPEG file preview. The Text Preview extension (installed by ClarisWorks 3.0 and 4.0) causes applications to display text symbols rather than a movie clip in those applications’ Open Dialog Box movie preview window.
  76.  
  77. • When running long movies (20 minutes plus) from CDi disks, the synchronization of the audio and video intermittently cuts in and out. This will be addressed before the final release.
  78.  
  79. • Playback performance is CPU-dependent.  A Power Macintosh 7100/80Mhz/601 gets approximately 10–12 fps at a window size of 320 ¥ 240, while a Power Macintosh 8500/120MHz/604 gets approximately 24 fps at a window size of  320 ¥ 240.
  80.  
  81. • Use Save As, not Save, when you are saving changes to a raw MPEG bitstream from MoviePlayer.  Using Save will result in an error dialog.
  82.  
  83. • For best performance, make sure Macintosh is set to reproduce 44.1 kHz, 16-bit stereo sound, and that your color-depth is set to 256 or thousands.
  84.  
  85. Technical Note: Special considerations for the MPEG media type
  86.  
  87. If you want to have your application open up MPEG files directly as QuickTime movies, simply follow the same procedure you would for normal QuickTime movies. Use OpenMovieFile to open the MPEG file, use NewMovieFromFile to get the movie from the MPEG file (this will automatically perform the import operation for you), and use CloseMovieFile to close the MPEG file.
  88.  
  89. Some applications expect to find a video track and an audio track in the movie, and refuse to work with the movie if they don’t find one of these tracks. This will cause problems with QuickTime movies containing an MPEG track, as neither an audio or video track is present. Since QuickTime 2.0 there has been a convenient mechanism to find those tracks in a movie that play audio and those tracks which draw. This can be done using the GetIndTrackType call. GetIndTrackType can be used to interate through all tracks in a movie with a given characteristic. To find the visual tracks of a movie you would use code as follows:
  90.  
  91. long index = 0;
  92. Track t;
  93. while (t = GetMovieIndTrackType(theMovie, ++index, VisualMediaCharacteristic, movieTrackCharacteristic | movieTtackEnabledOnly) {
  94.     // this track draws - you can treat it as a video track
  95. }
  96.  
  97. To find the audio tracks of a movie, you would use the same code but substitue AudioMediaCharacteristic for VisualMediaCharacteristic. Note that this code works for all track types, and so is a good way to deal with all kinds of QuickTime media including sound, video, music, text, sprites, timecode, as well as MPEG.
  98.  
  99. If you need to determine the actual track type of the media returned, you can do so as follows:
  100.  
  101. OSType mediaType;
  102. GetMediaHandlerDescription(GetTrackMedia(theTrack), &mediaType, nil, nil);
  103.  
  104. You can then compare the value returned in the mediaType field against the constants for the various media types such as VideoMediaType, SoundMediaType, or MPEGMediaType.
  105.  
  106. The MPEG track may be the first to support both audio and video, but it won’t be the last. Taking the time now to ensure that your application can work well with QuickTime MPEG tracks will enhance your application’s overall ability to work with the large variety of QuickTime movies currently is use.
  107.  
  108. Technical Note: “Blacklining”
  109.  
  110. The MPEG track will use a technique called “blacklining” to draw frames when it is scaled above normal size. When using blacklining, every other line the image is drawn as a black line. This technique can significantly improve playback frame rates. However, if you are processing the MPEG frames you may want to turn off the black lining feature. The black lining feature is controlled by the quality level of the MPEG track. At normal quality and below, blacklining is used. At high quality, every line of the frame is always drawn. To set a track in a movie to high quality mode, use SetMediaPlayHints() as shown below:
  111.  
  112. Track mpegTrack;
  113. SetMediaPlayHints(GetTrackMedia(mpegTrack), hintsHighQuality, hintsHighQuality);
  114.  
  115. To restore a movie to normal quality, use SetMediaPlayHints() as shown below:
  116.  
  117. Track mpegTrack;
  118. SetMediaPlayHints(GetTrackMedia(mpegTrack), 0, hintsHighQuality);
  119.  
  120. Play hints are not normally saved with a movie. To save the play hints of a movie, use the track load settings as shown below.
  121.  
  122. Track mpegTrack;
  123. SetTrackLoadSettings(mpegTrack, 0, 0, 0, hintsHighQuality);
  124.  
  125. Enjoy!
  126.  
  127. — The QuickTime Engineering Team <qtmpeg10@apple.com>
  128. — Charles Wiltgen, QuickTime Technologies Evangelist <cwiltgen@apple.com>
  129.